High-speed and low-power differential non-volatile content addressable memory cell and array

ABSTRACT

A differential non-volatile content addressable memory array has a differential non-volatile content addressable memory cell which uses a pair of non-volatile storage elements. Each of the non-volatile storage elements can be a split-gate floating gate transistor or a stack gate floating gate transistor having a first terminal, a second terminal, a channel therebetween and a floating gate over at least a portion of the channel to control the conduction of electrons in the channel, and a control gate. The floating gate storage transistor can be in one of two states: a first state, such as erase, in which current can flow between the first terminal and the second terminal, and a second state, such as programmed, in which substantially no current flows between the first terminal and the second terminal. A pair of differential compare data lines connects to the control gate of each of the pair of non-volatile floating gate transistors. A match line connects to the first terminal of each of the pair of non-volatile floating gate transistors to a first voltage. Finally, the second terminals of each storage element is connected to a second voltage, different from the first voltage. A current passing through the memory cell is indicative of a mis-match between the contents of the compare data lines and the contents of the storage elements.

CROSS-REFERENCE TO RELATED APPLICATIONS

This is a division of application Ser. No. 10/893,811, filed Jul. 19,2004 now U.S. Pat. No. 7,196,921, published as US2006/0013028A1, whichis incorporated herein by reference in its entirety.

TECHNICAL FIELD

The present invention relates to a differential non-volatile contentaddressable memory cell and array that is capable of high-speed andlow-power operation. More particularly, the present invention relates toa high-speed, low-power differential non-volatile content addressablememory cell either binary or ternary and an array using a compare dataline that is isolated from the conducting channel.

BACKGROUND OF THE INVENTION

Content addressable memory cell and array are well known in the art.See, for example, U.S. Pat. No. 6,078,513; 5,949,696; 5,930,161; and5,051,943. A differential non-volatile content addressable memory celland array is also well known in the art. See, for example, U.S. Pat. No.6,005,790.

Referring to FIG. 1, there is shown a binary differential volatilecontent addressable memory array 10 of the prior art. In this memoryarray 10, a differential content addressable memory cell, such as cell12 a, is comprised of pair of SRAMs, each storing data complementary toone another. The cell 12 a is queried by comparing the data on thecompare data line 18 a and the compare data bar line 18 b to the datastored in the cell 12 a. The match line 14 is pre-charged to apre-determined voltage. During the compare event, all the rows arecompared at the same time and each match line 14 that fails thecomparison of the compare data with the stored data in each row ispulled down. The result of the comparison in each row is stored in alatch 16. The array 10 is a binary content addressable memory array, inthat each cell 12 stores a binary state. Thus, each cell 12 storeseither the state of “10” or “01.” Each cell 12, thus has two states.Although the content addressable memory array 10 is of high speedbecause the memory cell 12 uses an SRAM as the storage element, it isvolatile and further has high power requirements.

Referring to FIG. 2, there is shown a ternary content addressable memoryarray 20 of the prior art. The ternary content addressable memory array20 is similar to the binary content addressable memory array 10 of theprior art shown in FIG. 1. The array 20 comprises a plurality of memorycells 22 arranged in the plurality of rows and columns. Each memory cell22 has two storage elements 12 a and 12 b for storing the data bits andtwo storage elements 13 a and 13 b for storing the mask bit 13. Each ofthe storage elements 12 a and 12 b uses an SRAM cell. Data that needs tobe compared during the compare event is driven in the compare data line18 a and the compare data bar line 18 b. These lines are supplied to thedata bit storage elements 12 a and 12 b from which either the state of“10” or “01” are stored just like that shown and described in FIG. 1. Asfor the mask bit 13, the mask bit 13 stored in the mask bit storageelements 13 a and 13 b can be in either the state of “11” or “00.” Ifthe mask bit 13 is in one state, such as “11,” then that storage is usedto mask the bit 13 from the compare event as to make it a “don't care”comparison. Again, similar to the array 10, the match line 14 ispre-charged to a pre-determined voltage. During the compare event, allthe rows are compared at the same time and each match line that failsthe comparison of the compare data with the stored data is pulled down.Only those bits participating in the compare event that are not maskedby the respective mask bits are compared. The final comparison resultsare stored in latches 16. Similar to the array 10, the array 20, usingSRAM storage elements has the properties of high speed but also highpower and volatility.

Referring to FIG. 3, there is shown an example of a differentialnon-volatile content addressable memory cell 30 of the prior art, asexemplified by U.S. Pat. No. 6,639,818. In this differentialnon-volatile content addressable memory cell 30, a pair of non-volatiletransistors 32 a and 32 b form the content addressable memory cell 30.Each of the non-volatile memory transistors 32 has a first terminal anda second terminal with a channel region therebetween. The first terminalis connected to a compare data line 18 a or a compare data bar line 18b. The second terminal is connected to a common match line 14. Afloating gate, closer to the second terminal or the match line 14, thanto the first terminal, controls a portion of the channel region with acontrol gate controlling the conduction of another portion of thechannel region. A word line 34 is connected to the control gate of eachof the non-volatile transistor elements 32 a and 32 b. The non-volatilecontent addressable memory cell 30 is not a ternary cell, because itcannot mask each individual bit in the array.

Although the differential non-volatile content addressable memory cell30 (and the array in which these cells 30 are formed) satisfy thecriteria of non-volatility, and density, they suffer from having aleakage current. During the match event, there is a DC current leakagefrom the driven match line through the unmatched cells since the drivendata lines are not isolated from the conducting channel. The comparedata line 18 a and the compare data bar line 18 b are connected directlyto the channel. Since the match event for all rows occur simultaneously,this increases a power consumption problem. Further, since there needsto be at most only a single unmatched cell in an entire row to cause amismatch condition for that row, the sensing amplifiers of the arraythat contains the cells 30 must be able to detect the pre-charged matchline 14 moving only slightly, if it moves at all, during the compareevent. This slows down the event detection, in that the sense amplifiersmust wait to detect the possibility of a slight movement condition ofthe match line 14. Furthermore, there are sensing reliability issuesthat impose limitations on the array architecture.

Hence, there is need for differential non-volatile content addressablememory cell that can detect reliably at high speed and consume lowpower.

SUMMARY OF THE INVENTION

In the present invention, a differential non-volatile contentaddressable memory cell comprises a pair of non-volatile storageelements. Each of the non-volatile storage elements has a firstterminal, a second terminal and a control terminal for controlling theflow of current between the first terminal and the second terminal. Eachof the storage elements is characterized by capable of being in one oftwo non-volatile states: a first state in which a first current flowsbetween the first terminal and the second terminal and a second state inwhich a second current, less than the first current, flows between thefirst terminal and the second terminal. A pair of differential datalines is connected to the pair of non-volatile storage elements with onedata line connected to the control terminal of one of the pair ofstorage elements. A match line is connected to the first terminal ofeach of the pair of non-volatile storage elements for connection to afirst voltage. The second terminals of each of the pair of non-volatilestorage elements is for connecting to a second voltage, different fromthe first voltage.

DESCRIPTION OF THE DRAWINGS

FIG. 1 is a block level diagram of a differential binary volatilecontent addressable memory array of the prior art.

FIG. 2 is a block level diagram of a differential ternary volatilecontent addressable memory array of the prior art.

FIG. 3 is a circuit diagram of a differential ternary non-volatilecontent addressable memory cell of the prior art.

FIG. 4 is a first embodiment of a differential non-volatile contentaddressable memory cell of the present invention.

FIG. 5 is a second embodiment of a differential non-volatile contentaddressable memory cell of the present invention.

FIGS. 6A-6J are circuit diagrams of the storage elements that can beused in the first and second embodiments of the content addressablememory cells shown in FIGS. 4 and 5, respectively.

FIG. 7 is a circuit diagram of a first embodiment of an array ofdifferential non-volatile content addressable memory cells, of thepresent invention, in which the cells of FIGS. 4 and 5 of the presentinvention may be used.

FIG. 8 is a third embodiment of a differential non-volatile contentaddressable memory cell of the present invention.

FIG. 9 is a circuit diagram of a second embodiment of an array ofdifferential non-volatile content addressable memory cells, of thepresent invention, in which the cells of FIG. 8 of the present inventionmay be used.

DETAILED DESCRIPTION OF THE INVENTION

Referring to FIG. 4, there is shown a first embodiment of a differentialnon-volatile content addressable memory cell 40 of the presentinvention. The cell 40 comprises a pair of non-volatile storage elements42 a and 42 b. Each non-volatile storage element 42 has three terminals:a first terminal labeled “A,” a second terminal labeled “B,” and a thirdterminal labeled “C.” Each of the storage elements 42 is capable ofbeing in one of two non-volatile states: a first state in which a firstcurrent flows between the first terminal A and the third terminal C anda second state in which a second current, less than the first current,flows between the first terminal A and the third terminal C. The secondterminal B is a control terminal that controls the flow of currentbetween the first terminal A and the third terminal C. The cell 40 alsocomprises a pair of differential data lines 18 labeled as “compare 18 a”and “compare bar 18 b.” Each of the data lines 18 is connected to thesecond terminal B of one of the storage elements 42. The first terminalsA of each of the storage elements 42 a and 42 b are connected to a matchline 14. The match line 14 is connected to a load 45, which is connectedto a source of voltage Vcc. The third terminal C of each of the pair ofnon-volatile storage elements 42 a and 42 b is connected to a respectiveT1 and T2 lines to which a second voltage, different from the voltageapplied to the match line 14, is applied.

Referring to FIG. 6A, there is shown one embodiment of a non-volatilestorage element 42 that can be used in the first embodiment of the cell40 shown in FIG. 4. The embodiment shown in FIG. 6A is a conventionalstack gate non-volatile transistor. The stack gate non-volatiletransistor has a first terminal A and a third terminal C with a channeltherebetween. A floating gate is over the channel and controls theconduction of current between terminal A and terminal C. A control gateB is capacitively coupled to the floating gate and is also over thechannel. The second terminal B controls the flow of current betweenterminal A and terminal C.

Referring to FIG. 6B, there is shown another embodiment of anon-volatile storage element 42 that can be used in the first embodimentof the cell 40 shown in FIG. 4. The embodiment shown in FIG. 6B is aconventional stack gate non-volatile transistor connected in series witha MOS switching transistor. The stack gate non-volatile transistor has afirst terminal Data and a third terminal C with a channel therebetween.A floating gate is over the channel and controls the conduction ofcurrent between terminal Data and terminal C. A control gate iscapacitively coupled to the floating gate and is also over the channel.The second terminal WL controls the flow of current between terminalData and terminal C. The MOS switching transistor has three terminals:A, B, and a third terminal connected to the Data terminal of the stackgate non-volatile transistor. A channel is between the Data terminal andterminal A. terminal B controls the flow of current between terminal Aand the Data terminal. Thus, the three terminals of the non-volatilestorage element 42 are a first terminal A of the conventional MOStransistor, the third terminal C of the split gate non-volatiletransistor, and the gate transistor B of the conventional MOStransistor. When the embodiment shown in FIG. 6B is used in the memorycell 40, of course, additional control lines supplying various signalsmust be supplied to the Data terminal and the WL terminal. The Dataterminal is the terminal to which the data signal for storage in thestorage element 42 is supplied when programming or storing that datainto the storage element 42.

Referring to FIG. 6C, there is shown another embodiment of a storageelement 42 than can be used in the memory cell 40. In the embodimentshown in FIG. 6C, a split gate non-volatile storage transistor of thetype shown and disclosed in U.S. Pat. No. 5,029,130, whose disclosure isincorporated herein by reference in its entirety, is disclosed. Thetransistor 42 comprises a first terminal A, a third terminal C and acontrol terminal or second terminal B. A channel region is between thefirst terminal A and the third terminal C. A floating gate iscapacitively coupled to the third terminal C and is over a portion ofthe channel region. The control gate B, or the second terminal, is overanother portion of the channel and controls the conduction of the otherportion of the channel between terminal A and terminal C. Thus, thecontrol terminal B is closer to the first terminal A than to the thirdterminal C. Programming can occur by hot electron injection fromterminal A accelerated to the floating gate and is injected thereto.Erase can occur by tunneling of electrons from the floating gate ontothe control gate B. Other mechanisms for programming or erase are alsopossible and also known in the art.

Referring to FIG. 6D, there is shown another embodiment of a storageelement 42, which can be used in the memory cell 40. This storageelement 42 is identical to the storage element shown in FIG. 6C, exceptthe first terminal A is capacitively coupled to the floating gate. Thus,unlike the embodiment shown in FIG. 6C, the floating gate is closer tothe first terminal A. The control gate, or the second terminal B,controls the portion of the channel between the floating gate and thethird terminal C, and is closer to the third terminal C than to thefirst terminal A. In all other aspects of the operation of the storageelement 42, such as erase or programming, the operation is identical tothe embodiment shown in FIG. 6C.

Referring to FIG. 6E, there is shown another embodiment of a storageelement 42 that can be used in the memory cell 40. In this embodiment,the storage element 42 comprises a conventional MOS transistorelectrically connected to a split gate non-volatile transistor of thetype shown in FIG. 6C or 6D. Specifically, the conventional MOStransistor has three terminals: a first terminal labeled “A” and a thirdterminal labeled “Data” with a channel region therebetween. A gateterminal labeled “B” controls the conduction of the current between Aand Data. The Data terminal is connected to the terminal labeled “A” ofthe storage transistor shown in FIG. 6D. The control terminal shown inFIG. 6D, labeled “B” in that figure, is controlled by a word line or WLsignal. The terminal C of the storage transistor shown in FIG. 6Dremains the terminal C shown in FIG. 6E. Thus, the three terminals ofthe non-volatile storage element 42 are a first terminal A of theconventional MOS transistor, the third terminal C of the split gatenon-volatile transistor, and the gate transistor B of the conventionalMOS transistor. When the embodiment shown in FIG. 6E is used in thememory cell 40, of course, additional control lines supplying varioussignals must be supplied to the Data terminal and the WL terminal. TheData terminal is the terminal to which the data signal for storage inthe storage element 42 is supplied when programming or storing that datainto the storage element 42.

Referring to FIG. 6F, there is shown another embodiment of anon-volatile storage element 42 that can be used in the memory cell 40.Similar to the embodiment shown in FIG. 6E, in this embodiment, thestorage element 42 comprises a conventional MOS transistor and anon-volatile storage element of the split gate type exactly as is shownin FIG. 6E, except the source/drain of the split gate non-volatiletransistor are switched from that shown in FIG. 6E. In particular, thestorage element 42 comprises a conventional MOS transistor havingterminals A, B and Data, identical to that described for the embodimentshown in FIG. 6E. The MOS transistor is electrically connected to thesplit gate non-volatile transistor of the type shown in FIG. 6C, whereinthe data terminal is connected to the terminal labeled A shown in FIG.6C. The terminal labeled B of the embodiment shown in FIG. 6C is the WLterminal, and the terminal labeled C of the embodiment shown in FIG. 6Cremains the terminal C of the storage element 42. In all other aspects,the non-volatile storage element 42 shown in FIG. 6F is identical inoperation to the element shown in FIG. 6E.

Referring to FIG. 6G, there is shown another embodiment of thenon-volatile storage element 42 that can be used in the memory cell 40.All of the embodiments shown in FIGS. 6A through 6F are of the binarytype. The embodiment shown in FIG. 6G is suitable for a memory cell 40of the ternary type. Thus, the storage element 42 shown in FIG. 6Gcomprises two split gate non-volatile storage transistor connected inseries. One of the two series non-volatile transistors stores the maskbit while the other stores the data content bit. The mask bit is used tomask (disable) the compare event for the particular ternary CAM cell.This is done by turning off the discharge current path through theseries connected non-volatile transistors. If any one of the transistorsin the series connected path is turned off, then the entire current pathis turned off. Each of the split gate non-volatile transistors has afirst terminal and a third terminal with a channel therebetween. Thefloating gate is closest to the third terminal and is capacitivelycoupled thereto. The third terminals of the two non-volatile transistorsare connected together and to the Data node. First terminals, which arethe terminals farthest away from the floating gate, are labeled terminal“A” and terminal “C,” respectively. The terminal B is connected to thecontrol gate of both of the storage transistors. The Data terminal isthe terminal to which the data signal for storage in each of the storagetransistors of the storage element 42 is supplied when programming orstoring that data into each of the storage transistors.

Referring to FIG. 6H, there is shown another storage element 42 suitablefor use in the memory cell 40 for use as a ternary content addressablememory cell. The storage element 42 shown in FIG. 6H is similar to thestorage element 42 shown in FIG. 6G in the use of two serially connectedsplit gate storage transistors. The only difference between theembodiment shown in FIG. 6H and the embodiment shown in FIG. 6G is thatthe Data terminal is connected in common to the terminals of the twostorage transistors whose terminals are farthest away from the floatinggate. Thus, the first terminal, labeled “A,” is the terminal of one ofthe storage transistors closest to the floating gate. The terminallabeled “C” is a terminal closest to the floating gate of the otherstorage transistor. The control gates of the two storage transistors areconnected together and to terminal B.

Referring to FIG. 6I, there is shown yet another embodiment of a storageelement 42 suitable for use in a ternary content addressable memory cell40. In this embodiment, the storage element 42 comprises a split gatestorage transistor connected to a Data1 node which is connected inseries to a conventional MOS transistor, which is connected to a Data2node and is connected to second split gate storage transistor. Each ofthe split gate storage transistors has a terminal which is closest tothe floating gate and is connected to the Data1 and Data2 nodes,respectively. The terminal of the split gate storage transistor which isfarthest away from the floating gate is labeled terminal “A” andterminal “C,” respectively. The second terminal of the storage element42 is connected to the gate of the MOS transistor. The control gate ofthe two storage transistors are supplied with the signals WL1 and WL2,respectively.

Referring to FIG. 6J, there is shown yet another embodiment of a storageelement 42 that can be used in a ternary memory cell 40. The embodimentshown in FIG. 6J is similar to the embodiment shown in FIG. 6I in thatit comprises a split gate non-volatile storage transistor connected inseries to a conventional MOS transistor connected to a second split gatenon-volatile storage transistor. The only difference is that theterminal A of the storage element 42 is the terminal of the split gatetransistor which is closest to the floating gate thereof. Similarly, theterminal C is the terminal of the split gate transistor which is closestto the floating gate thereof. In all other aspects, the storage elementcomprises a Data1 node which connects the terminal which is farthestaway from the floating gate of the first storage transistor to one ofthe terminals of the MOS transistor. A Data2 terminal connects the otherterminal of the MOS transistor to the terminal that is farthest awayfrom the floating gate of the second storage transistor. A WL1 and a WL2signal is provided to each of the control gates of the first and secondstorage transistors, respectively. The terminal B of the storage element42 is connected to the gate of the MOS transistor.

Each of the aforementioned described embodiments of the storage elementshown in FIG. 6A-6J can be used in the memory cell 40 shown in FIG. 4.To the extent that other signal lines must be provided, such as to theData signal or the WL signal, then lines must be provided to the memorycell 40.

Referring to FIG. 5, there is shown a second embodiment of an improveddifferential non-volatile content addressable memory cell 50. The memorycell 50 comprises a pair of non-volatile storage elements 42 a and 42 b,each of which can be of the embodiment shown in FIGS. 6A-6J. Aspreviously discussed, each of the non-volatile storage elements 42comprises three terminals: a first terminal A, a third terminal C, witha second terminal B controlling the conduction of current betweenterminal A and terminal C. The first terminal A of the two storageelements 42 a and 42 b are connected to the match line 14. The matchline 14 is connected through a load 45 to Vcc. The terminals B of eachof the storage elements 42 a and 42 b are connected to the compare line18 a and compare bar lines 18 b, respectively. Finally, the terminal Cof the two storage elements 42 a and 42 b are connected together and incommon to a control line T3. During operation, the voltage supply on thecontrol line T3 is at a second voltage which differs from the voltagesupplied to the match line 14.

Referring to FIG. 7, there is shown a first array 70 of a plurality ofdifferential non-volatile content addressable memory cells 42 arrangedin a plurality of rows and columns. Each of the memory cells 72 can beof the first embodiment shown in FIG. 4, or the second embodiment shownin FIG. 5. Each of the memory cells 72 comprises a pair of storageelements 42 a and 42 b, each having three terminals, labeled “A” “B” and“C.” The B terminals of each memory cell 72 are connected to the compareline and compare bar lines, respectively. The compare line and comparebar lines connect the B terminals of memory cell 72 that are arranged inthe same column. It should be noted that the term “column” and “row” canbe used interchangeably. The a terminals of memory cell 72 arranged inthe same row are connected together to the same match line, e.g. Match1.To the extent that the storage element 72 requires a WL signal, such asthat for the embodiment shown in FIG. 6B, 6E, 6F, or 6I or 6J, then allthe memory cells 72 arranged in the same row have their WL linesconnected together. To the extent that the storage element 72 is of theembodiment that requires a Data signal supplied thereto, then the Datalines of the storage element 72 arranged in the same column areconnected together. In all other aspects, the operation of the memoryarray 70 is the same as that described for the various embodimentdiscussed previously.

Referring to FIG. 8 there is shown a circuit diagram of a thirdembodiment of a memory cell 140 of the present invention. The memorycell 140 shown in FIG. 8 comprises a volatile memory cell 142, forstoring Q and Q(Bar) of the data. The transistors M1, M2, M3 and M4 formthe volatile memory cell 142. The cell 140 also comprises twonon-volatile single transistor cells M11 and M12, for storing Q andQ(Bar) of the data respectively. Although single transistor memory cellof the type shown in FIG. 6C (or 6D) is shown as being used for thememory cell M11 or M12, other types of non-volatile memory transistorsmay also be used. A source line 150 connects to the first (source ordrain) region of the transistors M11 and M12. A first word line 152connects to the gates of the transistors M11 and M12. A bit/compare line154 a connects to the second (drain or source) region of the transistorM11; a bit(bar)/compare(bar) line 154 b connects to the second (drain orsource) region of the transistor M12. Transistors M5 and M6 connect thebit/compare line 154 a and bit(bar)/compare(bar) line 154 b to the Q andQ(bar) nodes of the volatile memory cell 142. A second word line 156 isconnected to the gate of transistors M5 and M6. Finally, transistors M7,M8, M9 and M10 are pull down transistors which are controlled bybit/compare line 154 a and bit(bar)/compare(bar) line 154 b and by theoutput of the volatile cell 142. The pull down transistors M7, M8, M9and M10 can pull down the match line 14 in the event of a mismatchbetween the bit/compare (or bit(bar)/compare(bar)) data and the datastored in the volatile memory cell 142.

In the operation of the memory cell 140, data is first stored in thenon-volatile transistors M11 and M12 (either as 0 and 1 or 1 and 0,respectively). This can be accomplished by bringing the source line 150to a first high positive potential, such as +10 volts. The first wordline 152 is brought to a high voltage sufficient to turn on a portion ofthe channel region of the transistors M11 and M12. If transistor M11 isto be programmed, i.e. have electrons stored on its floating gate, thena zero volt or voltage lower than the voltage supplied to the first wordline 152 is applied to the bit/compare line 154 a. If transistor M12 isto remain erased, i.e. not have any have electrons stored on itsfloating gate, then a voltage higher than the voltage supplied to thefirst word line 152 is applied to the bit(bar)/compare(bar) line 154 b.Transistors M11 and M12 are then programmed and not programmedrespectively, by the action of electrons injected through the mechanismof hot electron injection from the channel region to the floating gate,all as disclosed in U.S. Pat. No. 5,029,130.

Once the non-volatile cell portion of the memory cell 140 is programmed,then during operation, the following occurs. Upon power up of the devicecontaining the cell 140, the contents of transistors M11 and M12 arestored in the volatile memory cell 142. This can occur in the followingmanner. The source line 150 is brought to a ground potential. A relativelow positive potential is applied to the first word line 152, sufficientto turn on the a portion of the channel region over which the first wordline 152 lines. A small positive potential, such as +3 volts is appliedto the bit/compare and bit(bar)/compare(bar) lines 154 a and 154 b.Assume now that transistors M11 is programmed (and therefore transistorM12 remains erased). In that event, line 154 a would remain at a voltageof approximately +3 volts, since the programmed floating gate ontransistor M11 would prevent any significant flow current throughtransistor M11. On the other hand, with the floating of transistor M12erased, current would flow through transistor M12, bringing the voltageof line 154 b to substantially ground. A positive voltage is supplied tothe second word line 156 sufficient to turn on transistors M5 and M6,causing the voltages on the lines 154 a and 154 b to be supplied to theQ and QB nodes, respectively. At this point, the volatile memory cell142 is stored with the data stored in the non-volatile transistors M11and M12.

When it is desired to compare the data in each cell 140, the match line14 is first precharged to a precharged voltage. The source line 150 isconnected to ground. The data to be compared is supplied on thebit/compare and bit(bar)/compare(bar) lines 154 a and 154 b,respectively. Assume that the data stored in the volatile memory cell142 is as follows: Q(+0V) and QB(+3V). In that event, transistor M10 isturned on, and transistor M8 is off. Assume that the data supplied onthe compare lines 154 a and 154 b are as follows: 154 a (+3V) and 154 b(0V). In that event, transistor M7 is turned on and transistor M9remains off. Since transistors M7 and M8 are not both on, the currentpath through transistors M7 and M8 remains off. Similarly, sincetransistors M9 and M10 are not both on, the current path throughtransistors M9 and M10 remains off. In that event, the prechargedvoltage on match line 14 remains at the precharged state. This conditionrepresent a matched condition between the compare lines 154 a and 154 b,and the data in the volatile memory cell 142. In the event, the datastored in the volatile memory cell 142 is as follows: Q(+3V) and QB(+0V)and the data supplied on the compare lines 154 a and 154 b remains as:154 a (+3V) and 154 b (0V), then transistor M7 is on, transistor M8 ison, transistor M9 is off, and transistor M10 is off. In that event, theprecharged voltage on match line 14 would discharge through transistorsM7 and M8, to the source line 150. This is the mis-match condition.Detection of a change in the precharge voltage on the match line 14would indicate whether a mis-match condition occurred.

Referring to FIG. 9 there is shown a schematic diagram of an array 170of the present invention using the memory cells 140 shown in FIG. 8. Thememory cells are arranged in a plurality of rows and columns. It shouldbe understood that the terms rows and columns may be interchanged.Memory cells 140 arranged in the same row share a common match line 14.Memory cells arranged in the same column share the common bit/compareand bit(bar)/compare(bar) lines 154 a and 154 b, respectively.

One of the advantages of the memory cell 140 and array 170 of thepresent invention is that the cell 140/array 170 share the best of bothworlds of non-volatility and speed or operation. The non-volatiletransistors M11 and M12 retain the data even when power is turned off.The volatile memory cell 142 offer speed of performance. Finally, only asingle bit/compare line 154 a (along with its complement 154 b) is usedfor both storing data into the non-volatile transistor M11 (or M12) andfor comparing the data on the compare line with the data in the volatilememory cell 142.

From the foregoing, it can be seen that a differential non-volatilecontent addressable memory cell and array in which the compare datasignal (and compare data bar signal) is used to control the flow ofcurrent in a channel results in a content addressable memory cell 72(and array) which operates with high speed. Further, because the comparedata (and compare data bar) lines are not used as a current source, i.e.they are not connected to the channel of a transistor, leakage currentis minimized. This results in low power operation.

1. A differential non-volatile content addressable memory cellcomprising: a pair of non-volatile storage elements each of said storageelements is characterized by capable of being in one of two non-volatilestates: a first state in which a first current flows through saidstorage element, and a second state in which a second current less thansaid first current flows through said storage element; a match line; avolatile storage element capable of storing said first state and saidsecond state; said volatile storage element having a first output and asecond output; said first and second outputs for controlling the flow ofcurrent from said match line; and a pair of differential data lines;each for supplying data to one of said non-volatile storage elements,and for transferring the data from said pair of non-volatile storageelements to said volatile storage element; and for controlling the flowof current from said match line.
 2. The differential non-volatilecontent addressable memory cell of claim 1 wherein each of saidnon-volatile storage elements comprises: a first terminal in asemiconductor substrate; a second terminal in said semiconductorsubstrate; a channel between said second terminal and said firstterminal; a floating gate disposed over a first portion of said channeland said second terminal and is insulated therefrom; a control gatehaving a first section disposed over a second portion of said channeland insulated therefrom, and having a second section over said floatinggate and is insulated therefrom; and wherein said differential data lineconnects to said first terminal of each non-volatile storage element. 3.A differential non-volatile content addressable memory array comprising:a plurality of cells arranged in a plurality of rows and columns; eachcell comprising: a pair of non-volatile storage elements each of saidstorage elements is characterized by capable of being in one of twonon-volatile states: a first state in which a first current flowsthrough said storage element, and a second state in which a secondcurrent less than said first current flows through said storage element;a match line connecting cells arranged in the same row; a volatilestorage element capable of storing said first state and said secondstate; said volatile storage element having a first output and a secondoutput; said first and second outputs for controlling the flow ofcurrent from said match line; and a pair of differential data linesconnecting cells in the same column, each data line for supplying datato one of said non-volatile storage elements, and for transferring thedata from said pair of non-volatile storage elements to said volatilestorage element; and for controlling the flow of current from said matchline.
 4. The differential non-volatile content addressable memory cellof claim 3 wherein each of said non-volatile storage elements comprises:a first terminal in a semiconductor substrate; a second terminal in saidsemiconductor substrate; a channel between said second terminal and saidfirst terminal; a floating gate disposed over a first portion of saidchannel and said second terminal and is insulated therefrom; a controlgate having a first section disposed over a second portion of saidchannel and insulated therefrom, and having a second section over saidfloating gate and is insulated therefrom; and wherein said differentialdata line connects to said first terminal of each non-volatile storageelement.
 5. The memory cell of claim 1 wherein a single bit/compare lineis used both for storing data into non-volatile memory and for comparingdata on a compare line with data in the volatile storage element.
 6. Thememory cell of claim 1 wherein a compare data signal is used to controlcurrent flow in a channel.
 7. The memory cell of claim 1 wherein acompare data line and compare data bar are not connected to a transistorchannel, thereby reducing leakage current.
 8. The memory cell of claim 6wherein a compare data line and compare data bar are not connected to atransistor channel, thereby reducing leakage current.
 9. The memory cellof claim 1 wherein each of said non-volatile storage elements comprises:a first terminal in a semiconductor substrate; a second terminal in saidsemiconductor substrate; a channel between said second terminal and saidfirst terminal; a floating gate disposed over a first portion of saidchannel and said second terminal and is insulated therefrom; and acontrol gate having a first section disposed over a second portion ofsaid channel and insulated therefrom, and having a second section oversaid floating gate and is insulated therefrom.
 10. The memory cell ofclaim 9 wherein said second terminals of each of said storage elementsin the same memory cell are connected together.
 11. The memory cell ofclaim 1 wherein each of said non-volatile storage elements comprises: afirst terminal in a semiconductor substrate; a second terminal in saidsemiconductor substrate; a channel between said first and secondterminals; a floating gate disposed over said channel and is insulatedtherefrom; and a control gate disposed over said floating gate and isinsulated therefrom.
 12. The memory cell of claim 11 wherein said secondterminals of each of said storage elements in the same memory cell areconnected together.
 13. The memory cell of claim 3 wherein a singlebit/compare line is used both for storing data into non-volatile memoryand for comparing data on a compare line with data in the volatilestorage element.
 14. The memory cell of claim 3 wherein a compare datasignal is used to control current flow in a channel.
 15. The memory cellof claim 3 wherein a compare data line and compare data bar are notconnected to a transistor channel, thereby reducing leakage current. 16.The memory cell of claim 14 wherein a compare data line and compare databar are not connected to a transistor channel, thereby reducing leakagecurrent.
 17. The memory cell of claim 3 wherein each of saidnon-volatile storage elements comprises: a first terminal in asemiconductor substrate; a second terminal in said semiconductorsubstrate; a channel between said second terminal and said firstterminal; a floating gate disposed over a first portion of said channeland said second terminal and is insulated therefrom; and a control gatehaving a first section disposed over a second portion of said channeland insulated therefrom, and having a second section over said floatinggate and is insulated therefrom.
 18. The memory cell of claim 17 whereinsaid second terminals of each of said storage elements in the samememory cell are connected together.
 19. The memory cell of claim 3wherein each of said non-volatile storage elements comprises: a firstterminal in a semiconductor substrate; a second terminal in saidsemiconductor substrate; a channel between said first and secondterminals; a floating gate disposed over said channel and is insulatedtherefrom; and a control gate disposed over said floating gate and isinsulated therefrom.
 20. The memory cell of claim 19 wherein said secondterminals of each of said storage elements in the same memory cell areconnected together.